package cn.com.css.taxInspection.common.result;

import lombok.Data;

import java.io.Serializable;
@Data
public class Result<T> implements Serializable {

    // Getter 和 Setter
    private int code;     // 状态码：0 表示成功，非0 表示失败
    private String msg;   // 提示信息
    private T data;       // 返回的数据内容

    public Result() {}

    public Result(int code, String msg, T data) {
        this.code = code;
        this.msg = msg;
        this.data = data;
    }

    // 工具方法：成功响应
    public static <T> Result<T> success(String msg, T data) {
        return new Result<>(0, msg, data);
    }

    public static <T> Result<T> success(T data) {
        return new Result<>(0, "操作成功", data);
    }

    public static <T> Result<T> success(String msg) {
        return new Result<>(0, msg, null);
    }

    // 工具方法：失败响应
    public static <T> Result<T> error(String msg) {
        return new Result<>(-1, msg, null);
    }

    public static <T> Result<T> error(int code, String msg) {
        return new Result<>(code, msg, null);
    }

}


